1. The Field of the Invention
The present invention relates to a data transmission method, a data transmission system, a transmitter and a receiver where variable length transmission data is put into each frame of a fixed time length and transmitted.
2. The Relevant Technology
In the data transmission method where information of voice signals and the like is converted into digital data and transmitted, an amount of information to be transmitted is not always constant in terms of time, but generally may change from time to time.
Accordingly, if the transmission data is divided into frame units each having a fixed time length and each frame consisting of a variable number of bits is transmitted frame by frame to achieve the data transmission, a transmission rate can be varied temporally and necessary information can be transmitted efficiently in each frame period. At this time, a transmitter need not conduct useless transmission and hence the power consumption of the apparatus can be suppressed to low.
To conduct data transmission with varying transmission rate, normally it is necessary for the receiving side to get information indicating how fast the transmission rate of each frame is by means of some kind or another. For this purpose, conventionally there have been two methods: one is a method whereby the rate information is transmitted directly as part of frame data and the receiving side determines the rate on the basis of this information; and the other is a method where no rate information is sent, but the receiving side judges the rate with an error-detecting code that is added to the transmission data to indicate transmission quality (for example, CRC: Cyclic Redundancy Check code), called a blind rate detection method (for example, refer to International Publication No. WO96/26582 applied by the present applicant).
On the other hand, in communication environments where transmission errors occur frequently such as data transmission via a radio transmission path, it is commonly in practice to improve transmission quality by conducting error correction of the transmission data (FEC: Forward Error Correction). For error-correcting codes and error-correcting decoding, for example, a convolutional code and maximum likelihood decoding methods such as Viterbi decoding are used.
In addition, in the method where the receiving side determines the rate by using the error-detecting code that is added to the transmission data to indicate the transmission quality without sending any rate information, a decision error rate in determining the rate depends on a word length of the error-detecting code and doesn't decrease below a certain rate-decision error rate (namely, a probability of determining that no transmission error exists for an erroneous rate) even if the transmission error goes down.
On the other hand, in the case where the rate information is sent from the transmitting side to the receiving side, if an error occurs during transmission, an effective data length in the received frame cannot be judged and it becomes difficult for the receiving side to reproduce the transmission data correctly even if no error occurs in the data part.
Therefore, conventionally there has been devised a method whereby the rate-decision error rate was improved through the use of the likelihood information at the time of the maximum likelihood decoding and the transmission rate is allowed to vary, frame by frame, more securely during the transmission (for example, refer to International Publication No. WO97/50219 applied by the present applicant).
In the above-mentioned WO96/26582 and WO97/50219, described is a method where, in order to improve the rate detection performance at the receiving side (that is, to reduce the probability of detecting the rate mistakenly), CRC bits that have been conventionally added to the end of the transmission data (in this case the position of the CRC bits in the frame depends on the bit length of the transmission data) are arranged at a fixed position in the frame (for example, at the head of the frame) and transmitted.
FIGS. 1A and 1B are diagrams showing an example of transmission bit arrangement of the conventional scheme.
In the conventional method where the CRC bits are arranged after transmission data bits (“conventional postposition”), for example, when a position one bit ahead from the correct rate position is detected, since the codewords at the receiving side goes successively as D1 to D0 and C4 to C1, even if no transmission bit error occurs, the decision result by CRC shows OK (namely, erroneous detection) with a probability of 50 percent. Similarly to this, when a position two bits and three bits ahead from the correct rate position is detected, the decision result by CRC indicates OK erroneously with a probability of 25 percent and 12.5 percent, respectively.
To solve such a problem that the probability of detecting the rate mistakenly becomes larger as the assumed position approaches the correct rate position, there was devised a method where the CRC bits are arranged at the head of the frame in the above-mentioned WO96/26582 and WO97/50219. In this method, as shown in FIG. 1B (“preposition” case), since a codeword arrangement at the receiving side is discontinuous as D1, C4 to C1, the above-mentioned problem does not occur and a low probability of detecting the rate mistakenly that is determined by the word length of the CRC code can be obtained constantly, from a detection position adjacent to the correct position to a detection position remote therefrom.
However, in order that the transmitting side arranges the CRC bits always at the head of the frame, that is, ahead of the transmission data and transmits, it is essential to store temporarily the whole bits of the transmission data in memory until calculation of the error-detecting code for the transmission data is completed. Such buffer memory becomes large in size in proportion to the number of the transmission data bits of one frame, and when a huge amount of the transmission data is sent, hardware scale of the memory presents a problem.
To solve the problem, a method is disclosed in International Publication No. WO00/79720 in which an error-detecting code (CRC bits, for example) is provided after transmission data in such a way that the order of the error-detecting code bits is the reverse of that of the transmission data bits to transmit them.
FIGS. 2A and 2B are diagrams showing examples of the transmission bit arrangements of the conventional scheme and of the scheme according to the invention disclosed in WO00/79720. As can be understood from the figures, according to the arrangement of the invention disclosed in WO00/79720 (“new postposition”), since the codeword arrangement at the receiving side is discontinuous as D1, D0, C0, there does not occur a problem in that the probability of detecting the rate mistakenly increases as the detection position approaches the correct rate position and a low probability of detecting the rate mistakenly that is determined by the word length of the CRC code can be obtained constantly, from a detection position adjacent to the correct position to a detection position remote therefrom.
Moreover, since the bit arrangement according to the invention disclosed in WO00/79720 is such that CRC is arranged after the transmission data, it is not necessary to provide the buffer for temporarily storing the transmission data while maintaining the rate detection performance high as mentioned above and hardware can be implemented with a small circuit scale.
Furthermore, in the invention disclosed in WO00/79720, it is possible that, considering a case where the number of bits of the transmitted data becomes zero, if the number of bits of the transmitted data is zero at the transmitting side, the frame data is generated by considering the previously-specified bit pattern to be the error-detecting code. It is possible that at the receiving side, a position where the number of bits of the transmitted data becomes zero is also assumed as the final bit position of the frame data, and if the error-detecting code in the case of the assumption agrees with the above-mentioned previously-specified bit pattern, a decision that the position where the number of bits of the transmitted data becomes zero is the final bit position of the frame data is made.
In actual data transmissions, there is a case where the number of bits of the transmitted data to be sent becomes zero, for example, as a silent interval (namely, an interval when a sender does not speak) in the case of transmission of voice information, and it is preferable that the receiving side conducts the rate detection correctly for various cases including a case like this (that is, a case where apparent transmission rate=0) (this is because at the receiving side a decoder of voice codec (CODEC) may recognize such an interval as a silent interval and conduct processing different from that of non-silent intervals, such as generation of a background noise).
For the previously-specified bit pattern, for example, bits equivalent to the parity bits of the error-detecting code (because of absence of the data, bits corresponding to an initial state of the error-detecting coder; for example, bits all consisting of zeros) may be used. If the number of bits of the transmitted data is zero, the transmitting side transmits the bits equivalent to the parity bits of the error-detecting code (because of absence of the data, only these bits equivalent to the parity bits are error-correcting coded and transmitted). At the receiving side, the rate detection is conducted for candidate final bit positions including the final bit position when the number of data bits is equal to zero (the error detection at this occasion does not necessitate calculating the error-detecting code for the received data—re-encoding—, and all that is needed is only to compare the received parity-bit equivalent bits with the previously-specified bit pattern). Incidentally, if the bits equivalent to the parity bits of the error-detecting code is used as the previously-specified bit pattern, the need for additionally providing a circuit for generating the previously-specified bit pattern can be eliminated.
Although the circuit can be used in common by equalizing the length of the bit pattern with that of the parity bits of the error-detecting code (or CRC) that is given when the number of the other data bits is not zero, the length may be different as the need arises.
For the bit pattern, it is necessary to specify previously at least one kind of a pattern, but it may be possible that a plurality of patterns are specified and one of these is used in combination with other purpose (each of various control information is transmitted being mapped with each bit pattern).
According to the invention disclosed in WO00/79720, however, it is required that an error-detecting code (CRC bits, for example) be always provided even if there is no data to achieve adequate performance during blind rate detection or rate information itself be transmitted, even in a channel such as a control signal transmission channel that is inappropriate for being used as the reference of an outer loop transmission power control (this is a part of a dual closed loop transmission power control that is combined with an inner loop transmission power control, for maintaining and controlling block or frame error rate quality), that is, a channel that requires no frame (block) error rate calculation.
Overhead required to provide the CRC bits also in a period during which no data exists decreases transmission efficiency considerably in the case where information is transmitted intermittently like a control signal transmission channel.